<?php
/**
 * Modelo CRUD de encartes
 * @author Thiago Carvalho e Emanuel Melo @ PC4 Team
 */
class PC4_Crud_Encarte extends PC4_Crud_Upload {
	
	public function __construct($caminho = '', $tabela = 'encartes'){
		parent::__construct($caminho, $tabela);
	}
	
	/**
	 * Recebe um array com os campos e insere na base de dados o novo registro
	 * adiciona a imagem ao registro
	 * @param array $umRegistro
	 * @return int/array $id inserido ou (array)$erros com mensagens de erro
	 */
	function insere($umRegistro, $debug = false) {
		$umRegistro['imagem'] = $this->trataUpload($umRegistro, 'imagem', array("jpg", "jpeg"));
		$umRegistro['arquivo'] = $this->trataUpload($umRegistro, 'arquivo', array('pdf'));
		return parent::insere($umRegistro, $debug);
	}
	
	/**
	 * Edita um registro baseado no id
	 * @param array $umRegistro
	 * @param mixed $valor
	 * @param string $campo o nome alternativo para a chave primaria
	 * @param bool $debug
	 * @return array $erros para cada campo que não passou da validação 
	 */
	function edita($umRegistro, $valor, $campo = 'id', $debug = false) {
		// Upload da imagem
		if(!empty($umRegistro['apaga_imagem'])){
			$umRegistro['imagem'] = "";
			unset($umRegistro['apaga_imagem']);
		}
		else{
			if(!empty($umRegistro['imagem']['name'])){
				$tipos = array("jpg", "jpeg");
				$umRegistro['imagem'] = $this->trataEditaUpload($umRegistro, 'imagem', 'imagem', $valor, $tipos);
			}
			else{
				unset($umRegistro['imagem']); 
			}
		}
		
		// Upload de arquivo de anexo		
		if(!empty($umRegistro['apaga_arquivo'])){
			$umRegistro['arquivo'] = "";
			unset($umRegistro['apaga_arquivo']);
		}
		else {		
			if(!empty($umRegistro['arquivo']['name'])){
				$umRegistro['arquivo'] = $this->trataEditaUpload($umRegistro, 'arquivo', 'arquivo', $valor, array('pdf'));
			}
			else {
				unset($umRegistro['arquivo']); 
			}
		}
		
		return parent::edita($umRegistro, $valor, $campo, $debug);
	}
	
}